package com.zmn.oms.business.interfaces.perf;

import com.zmn.oms.common.constant.DimensionTypeEnum;
import com.zmn.oms.model.entity.perf.PerfDimension;

import java.time.LocalDate;
import java.util.List;
import java.util.function.Supplier;

/**
 * 绩效纬度复杂服务
 *
 * @param <T> 纬度实体
 * @author hankangshuai
 * @since 2019/11/20
 **/
public interface PerfDimensionBService<T extends PerfDimension> {
    DimensionTypeEnum getDimensionFor();
    /**
     * 同步纬度
     *
     * @return 更新数量
     */
    Integer syncDimension();

    /**
     * 获取所有纬度提供者
     *
     * @return 所有纬度提供者
     */
    Supplier<List<T>> getAllDimensionSupplier();
}
